package kpi.java_training.testing.db;

import kpi.java_training.testing.questions.IntQuestion;
import kpi.java_training.testing.questions.ManyFromManyQuestion;
import kpi.java_training.testing.questions.QuestionList;
import kpi.java_training.testing.questions.StringQuestion;

import java.util.ArrayList;

/**
 * Class loads questions from constants
 */
public abstract class ConstantLoader implements QuestionLoader {
    public QuestionList getQuestions() {
        QuestionList questions = new QuestionList("45");
        ArrayList<String> questionVariants = new ArrayList<String>();
        questionVariants.add("Примитивный тип данных");
        questionVariants.add("Пользователький тип данных");
        questionVariants.add("Перечислимый тип");
        ArrayList<Integer> correctAnswers = new ArrayList<Integer>();
        correctAnswers.add(1);
        questions.add(new IntQuestion("К каким типам данных относится тип int?", questionVariants, correctAnswers,1));

        questionVariants = new ArrayList<String>();
        correctAnswers = new ArrayList<Integer>();
        correctAnswers.add(4);
        questions.add(new IntQuestion("Сколько целочисленных типов в языке Java?", questionVariants, correctAnswers,2));

        questionVariants = new ArrayList<String>();
        questionVariants.add("К double");
        questionVariants.add("К byte");
        questionVariants.add("К short");
        questionVariants.add("К int");
        questionVariants.add("Ни к каким");
        correctAnswers = new ArrayList<Integer>();
        correctAnswers.add(2);
        correctAnswers.add(4);
        questions.add(new ManyFromManyQuestion("К каким типам данных приводится тип char?", questionVariants, correctAnswers,1));

        ArrayList<String> stringAnswers = new ArrayList<String>();
        stringAnswers.add("String");
        questions.add(new StringQuestion("Какой тип для представления строки включен в стандартную библиотеку?", stringAnswers,2));

        stringAnswers = new ArrayList<String>();
        stringAnswers.add("if");
        questions.add(new StringQuestion("Какое ключевое слово используется для обозначения условного оператора?", stringAnswers,2));

        return questions;
    }

    @Override
    public int loadAnswers(QuestionList questions) {
        return 0;
    }
}
